package com.zxy.ziems.server.device.service;

import com.zxy.ziems.common.pojo.collector.Config;
import com.zxy.ziems.server.device.pojo.dto.CollectorDTO;
import com.zxy.ziems.server.device.pojo.entity.CollectorEntity;
import com.zxy.ziems.server.device.pojo.vo.CollectorVO;

import java.util.Collection;
import java.util.List;

/**
 * 采集器管理
 * @author 10348359
 * @create 2024-03-25 11:08
 */
public interface CollectorService {
    /**
     * 上报
     * @param dto
     */
    void upload(CollectorDTO dto);

    /**
     * 更新
     * @param dto
     */
    void update(CollectorDTO dto);

    /**
     * 删除
     * @param id
     */
    void deleteById(String id);

    /**
     * 查询
     * @param id
     */
    CollectorEntity getById(String id);

    /**
     * 查询
     * @param code
     */
    CollectorEntity getByCode(String code);

    /**
     * 根据id列表查询
     * @param idList
     * @return
     */
    List<CollectorEntity> listByIdList(Collection<String> idList);


    /**
     * 查询所有数据
     * @return
     */
    List<CollectorVO> viewList();

    /**
     * 给采集器下发配置文件
     * @param id
     */
    void downloadConfigurationById(String id);

    /**
     * 根据Id 查询配置
     * @param code
     * @return
     */
    Config getConfigByCollectorCode(String code);
}
